package main

import (
	"context"
)

// App struct
type App struct {
	ctx context.Context
	hsr *HotSearchRouter
}

// NewApp creates a new App application struct
func NewApp() *App {
	return &App{}
}

// startup is called when the app starts. The context is saved
// so we can call the runtime methods
func (a *App) startup(ctx context.Context) {
	a.ctx = ctx
	hsr := &HotSearchRouter{}
	hsr.Init()
	a.hsr = hsr
}

// Greet returns a greeting for the given name
func (a *App) Greet(index int) []HotSearchDto {
	if index == Last {
		return []HotSearchDto{}
	}
	return a.hsr.Route(index).Visit()
}
